#ifndef MUSICPLAYBAR_H
#define MUSICPLAYBAR_H
#include <QWidget>
#include <qpainter.h>
#include<QTimer>
#include <QMediaPlayer>
#include"tcpclient.h"
#include<condition_variable>
#include<mutex>
#include<thread>
#include<map>
#include<unordered_map>
#include"loadmusic.h"
namespace Ui {
class MusicPlayBar;
}
//音乐窗口播放栏
class MusicPlayBar : public QWidget
{
    Q_OBJECT
public:
    explicit MusicPlayBar(QWidget *parent = nullptr);
    ~MusicPlayBar();
    void setPath(QString musicpath);
    void SendRequst(tcpclient*client,QString title);
private slots:
    void on_bofang_clicked();
signals:
    void Disconnect();    //客户端有新的请求播放数据 跳过当前这个数据
    void play(QString title);
private:
    void init();
    //播放音乐
    inline void playmusic();  //播放音乐
    inline void stopmusic();  //暂停播放

    bool ismusictitlecache(QString title);  //判断这首歌在用户目录下有没有缓存
    void prepare();                         //播放前准备工作
private:
    Ui::MusicPlayBar *ui;
    QTimer* timer;
    //当前播放进度 时长
    QString m_currenttime;
    QString m_duration;
    bool isbofang=true;     //判断当前是暂停还是播放
    QMediaPlayer*m_music;   //播放音乐的
    QString path;
    loadmusic*prevlm;
};






#endif // MUSICPLAYBAR_H
